package com.apartment.own.service;

import java.util.List;

import com.apartment.own.domain.OwnResArticleInventory;
import com.apartment.own.domain.OwnResArticleTemplate;
import com.apartment.own.request.res.ResArticleTemplateDTO;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 物品模板Service接口
 * 
 * @author @Dog_E
 * @date 2020-08-28
 */
public interface IOwnResArticleTemplateService extends IService<OwnResArticleTemplate>
{
    /**
     * 查询物品模板
     * 
     * @param id 物品模板ID
     * @return 物品模板
     */
    public OwnResArticleTemplate selectOwnResArticleTemplateById(Long id);

    /**
     * 查询物品模板列表
     *
     * @param ownResArticleTemplate 物品模板
     * @return 物品模板集合
     */
    public List<OwnResArticleTemplate> selectOwnResArticleTemplateList(OwnResArticleTemplate ownResArticleTemplate);

    /**
     * 新增物品模板
     *
     * @param ownResArticleTemplate 物品模板
     * @return 结果
     */
    public int insertOwnResArticleTemplate(OwnResArticleTemplate ownResArticleTemplate);

    /**
     * 修改物品模板
     *
     * @param ownResArticleTemplate 物品模板
     * @return 结果
     */
    public int updateOwnResArticleTemplate(OwnResArticleTemplate ownResArticleTemplate);


    /**
     * 批量删除物品模板
     *
     * @param ids 需要删除的物品模板ID
     * @return 结果
     */
    public int deleteOwnResArticleTemplateByIds(Long[] ids);

    /**
     * 删除物品模板信息
     *
     * @param id 物品模板ID
     * @return 结果
     */
    public int deleteOwnResArticleTemplateById(Long id);

    /**
     * @Description: 添加模板与详情
     * @param templateDTO: 物品模板DTO
     * @return: int
     * @Author: @Dog_E
     * @Date: 2020/9/8 0008 13:54
     **/
    public int addTemplateAndArticle(ResArticleTemplateDTO templateDTO);


    /**
     * @Description: 查询物品模板对应的物品
     * @param id:  模板id
     * @return: java.util.List<com.apartment.own.domain.OwnResArticleInventory> 物品清单
     * @Author: @Dog_E
     * @Date: 2020/9/8 0008 15:42
     **/
    public List<OwnResArticleInventory> articleList(String id);

    /**
     * @Description: 修改物品模板与物品
     * @param templateDTO: 物品模板与物品 类
     * @return: com.apartment.common.core.domain.AjaxResult
     * @Author: @Dog_E
     * @Date: 2020/9/8 0008 18:26
     **/
    public int updateTemplateAndArticle(ResArticleTemplateDTO templateDTO);

}
